package com.xiaohong.file.pojo;
import com.baomidou.mybatisplus.annotation.*;
import static io.swagger.v3.oas.annotations.media.Schema.AccessMode.READ_ONLY;
import io.swagger.v3.oas.annotations.media.Schema;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serializable;
import java.lang.Long;
import java.util.Date;
import java.lang.String;
import java.lang.Integer;

@Schema(name = "File")
public class File implements Serializable{

	@TableId(value = "id",type = IdType.ASSIGN_ID)
	@Schema(description = "主键id",accessMode = READ_ONLY,required = true)
	@JsonFormat(shape = JsonFormat.Shape.STRING)
	private Long id;//主键id

	@Schema(description = "文件名",required = true)
	@TableField("fileName")
	private String fileName;//文件名

	@Schema(description = "文件大小（B）",required = true)
	@TableField("fileSize")
	private Integer fileSize;//文件大小（B）

	@Schema(description = "文件扩展名",required = true)
	@TableField("extension")
	private String extension;//文件扩展名

	@Schema(description = "文件分组",required = true)
	@TableField("fileGroup")
	private String fileGroup;//文件分组

	@Schema(description = "文件描述",required = true)
	@TableField("fileDescription")
	private String fileDescription;//文件描述

	@Schema(description = "文件访问域名",required = true)
	@TableField("domain")
	private String domain;//文件访问域名

	@Schema(description = "文件存储路径",required = true)
	@TableField("path")
	private String path;//文件存储路径

	@Schema(description = "文件的md5值",required = true)
	@TableField("md5")
	private String md5;//文件的md5值

	@Schema(description = "创建时间",accessMode = READ_ONLY)
	@TableField(value = "gmt_create",fill = FieldFill.INSERT)
	private Date gmtCreate;//创建时间

	@Schema(description = "更改时间",accessMode = READ_ONLY)
	@TableField(value = "gmt_modified",fill = FieldFill.INSERT_UPDATE)
	private Date gmtModified;//更改时间

	@Schema(description = "乐观锁",accessMode = READ_ONLY)
	@Version
	private Integer version;//乐观锁

	@Schema(description = "逻辑删除标志",accessMode = READ_ONLY)
	@TableLogic
	private Integer deleted;//逻辑删除标志

	public String getFileDescription() {
		return fileDescription;
	}

	public void setFileDescription(String fileDescription) {
		this.fileDescription = fileDescription;
	}

	//get方法
	public Long getId() {
		return id;
	}

	//set方法
	public void setId(Long id) {
		this.id = id;
	}
	//get方法
	public String getFileName() {
		return fileName;
	}

	//set方法
	public void setFileName(String fileName) {
		this.fileName = fileName;
	}
	//get方法
	public Integer getFileSize() {
		return fileSize;
	}

	//set方法
	public void setFileSize(Integer fileSize) {
		this.fileSize = fileSize;
	}
	//get方法
	public String getExtension() {
		return extension;
	}

	//set方法
	public void setExtension(String extension) {
		this.extension = extension;
	}
	//get方法
	public String getFileGroup() {
		return fileGroup;
	}

	//set方法
	public void setFileGroup(String fileGroup) {
		this.fileGroup = fileGroup;
	}

	public String getPath() {
		return path;
	}

	public void setPath(String path) {
		this.path = path;
	}

	public String getDomain() {
		return domain;
	}

	public void setDomain(String domain) {
		this.domain = domain;
	}
	//get方法
	public String getMd5() {
		return md5;
	}

	//set方法
	public void setMd5(String md5) {
		this.md5 = md5;
	}
	//get方法
	public Date getGmtCreate() {
		return gmtCreate;
	}

	//set方法
	public void setGmtCreate(Date gmtCreate) {
		this.gmtCreate = gmtCreate;
	}
	//get方法
	public Date getGmtModified() {
		return gmtModified;
	}

	//set方法
	public void setGmtModified(Date gmtModified) {
		this.gmtModified = gmtModified;
	}
	//get方法
	public Integer getVersion() {
		return version;
	}

	//set方法
	public void setVersion(Integer version) {
		this.version = version;
	}
	//get方法
	public Integer getDeleted() {
		return deleted;
	}

	//set方法
	public void setDeleted(Integer deleted) {
		this.deleted = deleted;
	}


}
